
身為開發麻瓜,一開始沒想到驗收會遇到 bug。我以為驗收就是看功能我喜不喜歡,沒想到遠不止於此。
1. Vision 美學模型
我的四個 App 都是相簿整理,用 Apple 給相片的美學分數或者相片標籤工作。但是一開始測試就遇到,《這趟》的 log 出現無法調用模型,用來測試的、跟父母去日本金澤旅遊的 762 張相片打分全失敗,怎麼打都跑出零分。
怎麼可能零分啦。
解法是後來 CC 自己加了明確報錯,讓錯誤大聲叫,而不是顯現零分。
類似的錯誤在做《這場》的簡報整理 App 時候也遇到,模擬器回傳的偵測一直異常,怎麼測都搞不定。後來的解法是,乾脆直接裝到手機上看看,想不到就這樣好了。
2. 相簿權限授權
下一組錯誤是模擬器的相簿授權,讓 App 可以自己去抓手機相簿裡的照片。但有幾個測試的授權指令對 PhotoKit 不生效,所以「使用者只給部分照片權限」這種項目,只能實機測試。
3. 字體與打字
這個最好笑。不管旅遊相簿或是《這隻》的早安圖都需要打字進去,還要選字體。但是手寫體在手機才看得到,模擬器不支援。然後用程式自動操作模擬器輸入文字,會觸發長按選字泡泡、中文進不去、在中文輸入法下字母全變成 a。我就看到我電腦畫面的模擬器一直跑出 aaaaa。
1. 版面歪掉
舉凡跑版,模擬器上的長相跟手機上看到的不一樣。解法是有任何 UI 大改動,模擬器驗了不算,一定要手機實測。
或是爆版。做《這趟》的時候相片故事書整個歪掉,縮圖的邊長亂掉。後來發現 App 的縮圖是拿子視圖的寬度當下限,把整頁撐爆,也是改掉就好。
2. 閃退
這就不用說了。比較好笑的是找原因的過程,我看到 CC 不斷自言自語:喔這是 CGRect 跟 cropRect 的儲存關係,資料變成巢狀,只要攤平就好,我試試看,對就是這樣,你看這樣就好了,再裝一次試試看。
過程中麻瓜如我,曾經問 CC:
Xcode 要我按同意就算了,按三次是怎麼回事,我會不會同意了什麼我不懂的東西。
一輪檢查後的結果是:
沒事,那只是安全措施。
模擬器是很棒的沙盒,但它不是開發完成後使用者看到的全部。
沙盒有點像在公司時的單元測試或者 SIT,不管 SIT 怎麼測試成功,都還是免不了 UAT 那段用戶測試。
而沙盒裡最慘的錯誤會安靜地發生。它不說「我做不到」,它給我一個看起來正常的結果。
結果呢?結果就是上架 App Store 之後才被使用者發現。
這個系列同步寫在我的部落格:yojuhsu.com/blog
前一篇:【Day12】我上班,它上工
下一篇:Day 14,不會寫程式的人該懂哪些名詞